{ "cells": [ { "cell_type": "markdown", "id": "f2ce049f-4029-4fdb-8e59-70b69a778d7b", "metadata": {}, "source": [ "# 3. Supervised learning model development \n", "*Written by Men Vuthy, 2022*" ] }, { "cell_type": "markdown", "id": "14cb65e1", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "id": "4dade27b", "metadata": {}, "source": [ "**Import modules**" ] }, { "cell_type": "code", "execution_count": 1, "id": "9a3cf9db-33c3-4d5e-811b-593c6553cd70", "metadata": {}, "outputs": [], "source": [ "import os\n", "import pandas as pd\n", "import numpy as np\n", "np.random.seed(0)\n", "\n", "import rasterio\n", "import geopandas as gpd\n", "\n", "# Import scikit-learn modules\n", "from sklearn.datasets import load_iris\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.metrics import accuracy_score, confusion_matrix, classification_report\n", "import joblib\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from matplotlib import rc\n", "rc('text', usetex=True)" ] }, { "cell_type": "code", "execution_count": 2, "id": "c12b3b77-cf97-49e9-9aee-ab5f03a12d8b", "metadata": {}, "outputs": [], "source": [ "# Input classified data of each river\n", "Kano_classified = pd.read_csv('data/kano_river/out_img/classified/kano_classified.csv')\n", "Yoshii_classified = pd.read_csv('data/yoshii_river/out_img/classified/yoshii_classified.csv')" ] }, { "cell_type": "code", "execution_count": 3, "id": "065d4af1-951a-41e8-8ba1-ec9ba46169dc", "metadata": {}, "outputs": [], "source": [ "# Create dataframe containing all classified data\n", "classified_df = pd.concat([Kano_classified, Yoshii_classified], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 4, "id": "2dbb8b98-d749-4984-9761-f2f99f79c540", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
B1G1R1NIR1NDVI1NDWI1BSI1B2G2R2...BSI3B4G4R4NIR4NDVI4NDWI4BSI4labeltrain
089099299519650.242947-0.2141660.303773860912819...0.32548265574576811480.207700-0.1722380.3074626True
190099099020080.255461-0.2254270.306076882936865...0.33212965272273510720.195912-0.1541650.3109036True
290197295818620.235430-0.1981410.307286877915854...0.3294326367097339830.155239-0.1205630.3127326True
380188986315760.205786-0.1606420.297341846857799...0.3193626196837058740.116680-0.0808910.3147626True
484289389613010.093848-0.0638360.315164821811749...0.3131645726426527390.072273-0.0281230.3072356True
\n", "

5 rows × 30 columns

\n", "
" ], "text/plain": [ " B1 G1 R1 NIR1 NDVI1 NDWI1 BSI1 B2 G2 R2 ... \\\n", "0 890 992 995 1965 0.242947 -0.214166 0.303773 860 912 819 ... \n", "1 900 990 990 2008 0.255461 -0.225427 0.306076 882 936 865 ... \n", "2 901 972 958 1862 0.235430 -0.198141 0.307286 877 915 854 ... \n", "3 801 889 863 1576 0.205786 -0.160642 0.297341 846 857 799 ... \n", "4 842 893 896 1301 0.093848 -0.063836 0.315164 821 811 749 ... \n", "\n", " BSI3 B4 G4 R4 NIR4 NDVI4 NDWI4 BSI4 label train \n", "0 0.325482 655 745 768 1148 0.207700 -0.172238 0.307462 6 True \n", "1 0.332129 652 722 735 1072 0.195912 -0.154165 0.310903 6 True \n", "2 0.329432 636 709 733 983 0.155239 -0.120563 0.312732 6 True \n", "3 0.319362 619 683 705 874 0.116680 -0.080891 0.314762 6 True \n", "4 0.313164 572 642 652 739 0.072273 -0.028123 0.307235 6 True \n", "\n", "[5 rows x 30 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create Test and Train Data\n", "classified_df['train'] = np.random.uniform(0, 1, len(classified_df)) <= .75\n", "classified_df.head()" ] }, { "cell_type": "code", "execution_count": 5, "id": "b78c1ce8-61db-4902-824b-65f8a402e646", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training data: 1383093\n", "Testing data: 462144\n" ] } ], "source": [ "# Create dataframes with test rows and training rows\n", "train, test = classified_df[classified_df['train']==True], classified_df[classified_df['train']==False]\n", "\n", "# show the number of observations for test and train dataframe\n", "print('Training data:', len(train))\n", "print('Testing data:', len(test))" ] }, { "cell_type": "code", "execution_count": 6, "id": "c074e553-9593-41e6-9e0f-18d1a1c5054c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['B1', 'G1', 'R1', 'NIR1', 'NDVI1', 'NDWI1', 'BSI1', 'B2', 'G2', 'R2',\n", " 'NIR2', 'NDVI2', 'NDWI2', 'BSI2', 'B3', 'G3', 'R3', 'NIR3', 'NDVI3',\n", " 'NDWI3', 'BSI3', 'B4', 'G4', 'R4', 'NIR4', 'NDVI4', 'NDWI4', 'BSI4'],\n", " dtype='object')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create a list of the feature column's names\n", "features = classified_df.columns[:28]\n", "\n", "features" ] }, { "cell_type": "code", "execution_count": 7, "id": "084844ec-d424-4ec5-b91c-000a7f6f5e67", "metadata": {}, "outputs": [], "source": [ "# Since our land use is already in digits, there's no need to factorize\n", "classes = train['label']" ] }, { "cell_type": "code", "execution_count": 8, "id": "c73c0489-58e0-4624-9d5c-c08c4a2796b9", "metadata": {}, "outputs": [], "source": [ "# Initialize our model with 150 trees\n", "clf = RandomForestClassifier(n_estimators=150, oob_score=True, random_state=0)\n", "\n", "# Fit our model to training data\n", "clf = clf.fit(train[features], classes)" ] }, { "cell_type": "code", "execution_count": 9, "id": "8fbbfac4-ce03-41d1-bb5d-051627dce067", "metadata": {}, "outputs": [], "source": [ "# save\n", "joblib.dump(clf, \"./random_forest.joblib\")\n", "\n", "# load, no need to initialize the loaded_rf\n", "rfc_model = joblib.load(\"./random_forest.joblib\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "5b47513b-e616-4837-a4c4-4f9f6c690b29", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Band B1 importance: 0.022640564247320704\n", "Band G1 importance: 0.04775373986536404\n", "Band R1 importance: 0.03305181014428356\n", "Band NIR1 importance: 0.08998159842070703\n", "Band NDVI1 importance: 0.021422512253227544\n", "Band NDWI1 importance: 0.0251564608437582\n", "Band BSI1 importance: 0.016150975502086287\n", "Band B2 importance: 0.020143180151256875\n", "Band G2 importance: 0.02750993202560692\n", "Band R2 importance: 0.03344753939644612\n", "Band NIR2 importance: 0.11919608698774228\n", "Band NDVI2 importance: 0.027123799062126603\n", "Band NDWI2 importance: 0.03763494172800262\n", "Band BSI2 importance: 0.017902071552508066\n", "Band B3 importance: 0.020224980301024903\n", "Band G3 importance: 0.022142024296447817\n", "Band R3 importance: 0.027312165405646797\n", "Band NIR3 importance: 0.07469120978582319\n", "Band NDVI3 importance: 0.025987768747866326\n", "Band NDWI3 importance: 0.028268420759686608\n", "Band BSI3 importance: 0.016441553188424125\n", "Band B4 importance: 0.022289771094910774\n", "Band G4 importance: 0.031409771837951336\n", "Band R4 importance: 0.04344981684834436\n", "Band NIR4 importance: 0.06311245118705901\n", "Band NDVI4 importance: 0.028885612361275136\n", "Band NDWI4 importance: 0.041524950168692044\n", "Band BSI4 importance: 0.015144291836410532\n" ] } ], "source": [ "# Check the importance of each feature\n", "for b, imp in zip(features, rfc_model.feature_importances_):\n", " print('Band {b} importance: {imp}'.format(b=b, imp=imp))" ] }, { "cell_type": "code", "execution_count": 11, "id": "89095920-8f68-4efe-bfb7-de3dca861172", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Our OOB prediction of accuracy is: 88.7774719415108%\n" ] } ], "source": [ "# View Out-of-Bag accuracy score\n", "print('Our OOB prediction of accuracy is: {oob}%'.format(oob=rfc_model.oob_score_ * 100))" ] }, { "cell_type": "markdown", "id": "805cb2aa-4124-4383-9c02-8ae8e1593f68", "metadata": {}, "source": [ "*Predicting test dataset*" ] }, { "cell_type": "code", "execution_count": 12, "id": "835ada9f-9051-4d83-8301-1b21eab15e65", "metadata": {}, "outputs": [], "source": [ "# Apply the trained Classifier to the test\n", "preds = rfc_model.predict(test[features])" ] }, { "cell_type": "code", "execution_count": 13, "id": "0aa72689-3021-40df-92a5-67be303d021b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Our classification accuracy is: 88.93137203988367%\n" ] } ], "source": [ "# View accuracy classification (cross-validation) score\n", "print('Our classification accuracy is: {cv}%'.format(cv=accuracy_score(test['label'], preds)* 100))" ] }, { "cell_type": "markdown", "id": "02a8e4c2-f429-41c8-b3c2-2cc656c7922d", "metadata": {}, "source": [ "*Visualizing confusion matrix*" ] }, { "cell_type": "code", "execution_count": 14, "id": "d66d82c9-7337-4be4-90bd-391ecd2831d9", "metadata": {}, "outputs": [], "source": [ "# Get and reshape confusion matrix data\n", "Matrix = confusion_matrix(test['label'], preds)\n", "matrix = Matrix.astype('float') / Matrix.sum(axis=1)[:, np.newaxis]" ] }, { "cell_type": "code", "execution_count": 15, "id": "efe0186a-21dc-4f36-b547-05e6c2137f36", "metadata": {}, "outputs": [ { "data": { "image/png": "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CnHn6uWzrm9nmjYeM1+K55ncEgrp6OrsBgCsu2ctHA4FISV8vnI4nWbMKb3ybb5HKoSUlnRETGNVj0i65eMQq8IbFbx9bfpEy3zkG/Tl3clwUUEh428Rxt5aiwoKce7/DFpdjbQYPjuSV4nGqt+vBIC8bP/52NanWkjnnny0qKAwL67wT1z8SkrXxutL78+L4wOYiBAWViKSj/iBZB3G3loLKRHJN/mciCwEPPdYK18Skb6L/5jStXFt6X/Ji+MD+MvqREREREQ5J9/ugJUKJiJERERERDmGd80iIiIiIqKsY48IERERERFlncjo747nBiYiREREREQ5hj0iRERERESUdXb4HZGF3+dDREREREQ5hz0iREREREQ55gYOzSIiIiIiomyzw9AsJiJERERERDmGk9WJiIiIiCjrePteIiIiIiLKOvaIEBERERFR1t3AOSJERERERJRt7BHJosIbFaurYGuLCgqtroKtMf7WYeytter3K62ugq2x/VuHsadEMnXXLCHEmwDOARiQUh40ymoBTAAolVIenW9ZsnImEdHfCVpdBdtSbnLi7WtXra6GbS0qKGT8LcLYW4vxt07kInjsykWLa2JPJYtL8da1K1ZXw7ZuLlhsdRWSksEekfVSytNR+6kFACnlaSHENiFEFQBXqmXR205k4U/HJyIiIiLKMwI3pPRIgksIURr1fDWAyLcSFwGsmGdZ0piIEBERERHlmBuESOlh9Eyci3psm7LpJQAuCyGOGM9dU5bfMs+ypOXM0CwiIiIiIgpLdY6IMU9jxrkaUXM7JqLmdyyZstp8ypLGRISIiIiIKMdkYo6I0TtyTkp5Iar4LK73bJQCGDCep1qWNA7NIiIiIiLKMSLF/xLoBWImqPdJKfsAlEYmn0spT8+nbE7HKKWcW1QyRH8nmBsVsSHeNctavHOQdRh7azH+1uFds6zFu2ZZ6+aCxXnxAx3/439/N6Vr4//7//p4XhwfwKFZREREREQ55wYbDFxa+EdIREREREQ5hz0iREREREQ5JoM/aJgzmIgQEREREeWYVG/fm0+YiBARERER5Rj2iBARERERUdaxR4SIiIiIiLKOiYhNnT71MvxDZwAAD2//GygOZc7b2L/3KYSCQRS7i/Hwo39rlgGAohSZZQQ01DdC13UUu91o3rtr2vLWljYAgOJQsP2xR1LaR2tLW/j9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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Build the plot\n", "plt.figure(figsize=(15,5))\n", "sns.heatmap(Matrix, annot=True, annot_kws={'size':10},\n", " cmap=plt.cm.Greens, linewidths=0.2)\n", "\n", "# Add labels to the plot\n", "class_names = ['1', '2', '3', '4', '5', '6', '7']\n", "tick_marks = np.arange(len(class_names))\n", "tick_marks2 = tick_marks + 0.5\n", "plt.xticks(tick_marks+ 0.5, class_names, rotation=25, fontsize=10)\n", "plt.yticks(tick_marks2, class_names, rotation=0, fontsize=10)\n", "plt.xlabel('Predicted label', fontsize=12)\n", "plt.ylabel('True label', fontsize=12)\n", "plt.title('Confusion Matrix for Random Forest Model')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "id": "ee3945b9-113c-4e16-9e79-c99480976792", "metadata": {}, "outputs": [ { "data": { "image/png": "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XyHL5Pf//oXz0XWyC48tW4nel3sxZ95sC/Ywf53oPYnrSxzBOzCd6D0JADjyyG4AgL1Iwd4FG7F3wUYc7voRfJfZXTJVVdX6MaWpYVPwPQCsXF4Xs7x1+254PANo3b4bml+DoihYubwOTQ2boChKcD6KLpPHIEpNro+JEFLKrG0slkvv/SE3AilA4679GN798LLVYRSssaOL8M6HQ1aHUZCuG13M776Fxo4ugvjap60OoyDJ7/0aAHD5g8E4c1ImFI0p4bHHQmNHF+X2vVMNbf3fS+nceG7Z17Kyf3zYHBERERFRjslmq0IqmEQQEREREeWYbN5pKRVMIoiIiIiIckyuP7GaSQQRERERUY5hSwQRERERESVFZPQmqlePSQQRERERUY5hSwQRERERESUl1+/OlNvtJERERERElHPYEkFERERElGNGsTsTERERERElI9e7MzGJICIiIiLKMRxYTURERERESeEtXomIiIiIKClsiSAiIiIioqSM4pgIIiIiIiJKBlsiEjTu2o9ZHUJBGzu6yOoQCtp1o4utDqFg8btvLfm9X1sdQkErGlNidQgFi8ceiod3Z0rQK74eq0MoWLfZJ+OdD4esDqNgXTe6mPVvketGF+PdDy9bHUbBGju6CEMfaFaHUZCKxygAgLKWWosjKUz9de3wvf+W1WEULPs111sdQkLYEkFEREREREnh3ZmIiIiIiCgpfGI1ERERERElhWMiiIiIiIgoKRwTQURERERESWFLBBERERERJYUtEURERERElJRROX53ptyOjoiIiIiIcg5bIoiIiIiIcgy7MxERERERUVI4sJqIiIiIiJLClggiIiIiIkoKWyKIiIiIiCgpTCKIiIiIiCg5hdydSQgxB0Ct8XaVlNKbye1l0tOb92LQN4iPO2/C/G99fVj5oDaEpzc9g9VbHgMA/PsPXsTPT3QCADT/ID5f81nMvvcr2Qw5L22sb4LP54da6sSyFUsTKjeb1n68A10nuwAAS1csxYDHg5XLV2Fi+UQAwPoN62CzKVnaq/yRrvrfWN8EAFBsCpatWAq3y836T8CG+ib4fT44S1UsN6l/s3KzaX6/hg3rN2Dbrq1hy3/30LPofbl32HQK19SwCX6fH07ViaUrHkmovG75KmiaBqfqxNqGNQAAza9hY30TWnY2ZzX+kaJp1lI4xtpw0fdbNP/HwbCyv73jL/AXE/4EAGAfq+Bf+/4D+08dAQAsnj4Pn/n4BDz8vzZmPeZ8t7mxGT6fH071Znzr0W/GLe9zncfjK9ZgQvkEAMCahtVQbApWP7oGg9ognOrNeLx+VbZ3Y8TI9ZaIjD0nQghRBuAeKeUS4+XN1LYy7ZenXsInnB/H6i2PQbEr+E1ff1j5oDaE4z9ox4XzV6Z/6auzsPHpemx8uh6fKh/PBCIBXSe7od6iYtuuFtgddrhd7rjlZtM8Fz04/m8vYl3jWqxrXBs8Wa2ZNRPbdrVg264WnsCaSFf9tx/vQPmkcqxrXAsAwfWw/mPrOtmF0ltUbNu1FQ7T+h9ebjbN79dwrO0Y3O6+sOX9fg0XX/Nkc5fyUndnN9RSFS07m43vdF/c8mNHXsC6xrV45uCe4DyaX8OxthfQF/E5UGI++8k78Zr3t3j4f23E2+/4MemmT4WV/9NLP8K9R1bj3iOr8fIbrwQTCOXaYtzi+IQVIee9U52n4Sx1YsuOTbA77OhznU+o/Au1f44tOzZhy45NUGwKftD2Q6xpWI2nD7QGl6PUCCFSemVLJh82NwfAJSHEPiFEewa3k3G/7P4Vxk+8FQDwcedNeOnUr8LKS5RizL73KyhWioct+/MTnfjUxLKsxJnvujq7UF5eDgBQVRVdnd1xy82mtb/YAbvdho31TViy8BvB5T0XB7Bre+uwkzPSpav+e3t6MWlyBQBg0uRJ6O1xAWD9x9PZ2Y1yo6VGVZ3D6t+s3Gyazabg/oXzoSjhidqu7a1YsGh+5nckz3Wd7EZ5xZU67Y78PTApnz3vbihGYqyWqtD8GhSbgvkL70OJwoQ5FZ/7o7vQ+7tfAwAuen+Lz35yiul8X77t8+gx5gOAVX+6CPu6D2clxpGmu/MUJhotCk71ZpzqOp1Q+YDndTy149vBpOKrc78S/H1wljqhaVq2dmHEESn+y5ZMJhHXA7ggpVwCoF0IUZPBbWXU4OAQSoxfiGKlCJov8V+ItudewJe+OitToY0oml+D3WEDACiKAp/XF7fcbJrP64N6i4p1jWtRNaMSXSe7gydUCx5YgF3bd8NzkVdkI6Wr/kMTh96eXmiaxvpPgF6XdgB6XXpN6z+8PN4yAW6XG4pNgVqqZnAPRgZN02CzG3VqM/k9iFPe3dmNyurK7AQ7ginXFsP7rv631v/eID56nc10vger/hb/9NKPAACTbvoUtPeGcNH3RtbiHEkGtUHY7NH/BpiVK0oJAGD+onvx9M49GLg4ELbMqc7TmF41LQvRj0yZSiKEEHOEEDVCiMUmZQ4hxBRjnph9MTOZRLwF4Jzxcz+AYZcRhBCLhRBnhBBnDj/blsFQrk5JSTEG/frBbEi7DMWe2JWlNwbewMdvvimToY0o+h9kPwD9D3Xg5ChWudk0u8MednXc7XZDLVWD3WiqZlQOu8pL6av/2i/WoP14BzbWN8FzcQCKorD+ExB6QqppGhym9R9eHm+ZgF3bWzFw0YMN9U1wu/tw9MixDO5JflMUBX6fUad+k9+DGOVNDZuwpv6J4FVYSp323hAcY/V6tF1bgrff8Q+bp9T+cVz0XkkYVv3pIpTaP4GmWUsx6aZP4W/v+IusxTsSlCgl8Pui/w0wKw90b1JsCqZXTwtrvdjc2IzH19fx9+EqZKI7kzFeGVLKDuN95EX+eQCmSimPGuXDEo2ATCYR53AlcSiDnkiEkVLul1JOlVJOvWf+3AyGcnX+uPIzuND3KgDg167fBLs2xXOh71V8uuJT8WckAEBVdRXcbr2rS29PbzARiFVuNq28vDw4zePx6IlESBcaz2v6NAqXrvoHgH2HngmOiZj1pVms/wRUV1cGxzH09LiC3ZRilcdbJmDfob3Ytmsrlq1YivLyiZgzb3YG9yS/Vc2oDI6D6O1xBbsuxStv3b4b8xfex9aeNPnZ/z2LSTd9GgDwmU9MCHZtCjX5pk/jV29c6bd/75HVePh/bUTzfxxE7+9+E2yhoMRUVk9Hn1uvT1ePO9h1KVZ56LiJgYsDcKpOAMBTO76Nexf8PZylzixFPzJlqCViGq6ckw+7yG+cm+833pqevwdkLIkwMpzxQog2AOMDGU0++uPpd0DzaXh6897gewDYsnpbcJ5nn/oHvDHwOzz71D9gUBsCALwx8DsUK0XZDzhPVc2ohM/rC97Zp2qG3iXgsWV1UcujTfO85sFjy+rgec2D2i/WQFEUPLasDhvrm6AYV8MpXLrq32/ckWZjfRO++OVZsNkU1n8CqmZUwev1YUOwLqsAAI8tWxm1PNoyO7e3wuPxYOf2Vvj97I+cjMpq/Tvd1LAp+B7Q774UrfzZQ8+hu+sUNjU+iW8seggdxzsA6InFgGcArdt3Q+PnkJSf/9cv8NHrbGiatTT4HgCe/ut1wXlKHZ+A/71BS+IbiaZXT4PP68PmxubgewBY/eiaqOWKUoLVj67B5sZmlCglmF49Dc9/5x9xuusMNm9owcMPLMWJF39szQ6NAKkmEaE9fYxXaGuCI2Iz15tuW79B0qVAi4XpPFLKq9/LNHjF15MbgRSg2+yT8c6HQ1aHUbCuG13M+rfIdaOL8e6Hl60Oo2CNHV2EoQ94cm2F4jF6F5Oylto4c1Im9Ne1w/f+W1aHUbDs11yf2/dONfS8fS6lc+PJH50Sdf+McQ7tUsoOoytTrZRy2H14hRB1UsqWWNvJZHcmIiIiIiJKQYa6M53GldaIMgDD7qAqhJgTSCCEEOa3RgOTCCIiIiKinJOJgdXG8IIyoxXCETLAut34vwZAsxDirBDiLIBx0daV0SdWExERERFR7gjpptQRMq3W+L8DwPhE1sMkgoiIiIgoxyTyzAcrMYkgIiIiIsoxTCKIiIiIiCgp8cY3WI1JBBERERFRjmFLBBERERERJYVJBBERERERJYXdmYiIiIiIKElMIoiIiIiIKAlsiSAiIiIioqRwTAQRERERESWFSQQRERERESWF3ZmIiIiIiCgpud4SIaSUVscQkDOBEBEREdGIldtn54bXBi+kdG58S8n4rOxfzrREXP5g0OoQClbRmBK8++Flq8MoWGNHF+GdD4esDqMgXTe6mN99C40dXcT6t8jY0UUAwGOPRa4bXQxRq1odRsGS7R6rQ0gIuzMREREREVFScr07E5MIIiIiIqIck+stEaOsDoCIiIiIiPILWyKIiIiIiHIMuzMREREREVGSmEQQEREREVEScjuFYBJBRERERJRzcn1gNZMIIiIiIqKcwySCiIiIiIiSkNspBJMIIiIiIqIclNtpBJMIIiIiIqIck+tjIviwOSIiIiIiSgpbIoiIiIiIcgwfNkdEREREREkp2CRCCLEYwFzj7TgAh6WULZnaXiY0NWyCz+eDqqpYuuKRhMo1v4YN9RuxdeeVXV25vA6aNghVdWJtw5qsxZ+PNtQ3we/zwVmqYvmKpQmVm03z+zVsWL8B23ZtDVsWABSbYrpuAjbWN8Hn80MtdWKZSR2ZlUdOc7vcWLl8FSaWTwQArN+wDjabgo0h9W+2broik78HFC5ddW027bFlK6FpGpyqivWNawHwM4kmHceeo0eOof14BwDA7/Nh1pdnoaq60vR4RPHtXboF42wO9P/2Naw++KRpOQB4h/xYffBJPPAXX8PcP/lLAMA4xYHD//Ev2HrkmazGTNmVsTERUsr9UspaKWUtgDP5lkB0dXZDLVWxdWcL7A473C533HLNr+FY2wvoc/cF5zt25AWsb1yHvQf3BJcjc10nu1B6i4ptu7bCYVbnJuVm0/x+DcfajsEd8jm4XW4sWDQf6xvXYuCiZ9i6Ceg62Q31FhXbdkX5zpuUR1umZtZMbNvVgm27WmCzKWg/3oHySeVYZ5xIsf6jy+TvAYVLV12bTTt65BjWb1iPfYf2BtfFz8Rcuo49c+bNxr5Dz2DfoWdQMakC9y+cD2D48Yjim3nn53Dht/+FeRsfxFv+t3HnpyaHlc/+/F/i7K9fxoOtqwEAd35qMg786HuYtfp/Ytbq/4kzr/yKCUQaCCFSemVLxgdWCyHmADib6e2kW/fJbkys0K9cOFUnujtPxS1XbArmL7wPinLlIDV73t1QjIOWWqpC82tZ2oP809nZjXLjapGqOoclXGblZtNsNgX3L5wf9jmUV5RDLVXh92vweAZQXlGepb3KH12dXSgv1+tFVdVh9W9WHm0Zz8UB7NreGjwZ6O3pxaTJFQCASZMnobfHlZV9ykeZ/D2gcOmqa7Npc+bNDp6wlt6iQtM0fiZRpPPYAyB40SIg8nhE8dXe9Sc49+uXAQD9v30NNVM+H1Y+bcIdOPPKSwCA0+dfwtTb7giWBRIMGvmycXemx6WU+7OwnbTSNA12uw2A3v3C5/UlVW6mq7MbVdWV6Q92hND8GuwOOwBAURR4I+vcpDzeMqH0bjYrUcnPwJRel8Z3WjH5zpuUm00LnCAteGABdm3fDc9FT1ji0NvTC01jMh1Npn8P6Ip01XW89XSd7EJldVWmdydvpevYE/CdA9/BnHmzg2VA+PGI4nMU23BJ8wIAvIM+XG/7aFh5aOIwbcIdcJTYgmWP/+03ceBH38tarCOZSPFftmQ0iRBClAHoj1G+WAhxRghx5jsHvpPJUJKmKAp8Pj+A8D8kiZZHamrYhLX1TwRbJWi40GRM0zQ4IuvcpDzeMqHKK8rDuhZQOL0uje+0ZvKdNyk3m6aWqsFuA1UzKtHV2Y3aL9ag/XgHNtY3wXNxgFdiY8j07wFdka66jrWeDfVNWNewlt1oYkjXsQcAPBc9cKpqcFmz4xHF5x3yY5ziAAA4Sux4y/92WPmx//xXzP2Tv8TepVtQ9olb4B3UP4tbP34L+t94LdvhjmAixVd2ZLolYgqA09EKjXETU6WUUxc8sCDDoSSnckYl+lx6v1VXjyvYdSnR8lCt23dj/sL7oJaqUechoLq6MthXuKfHFeweEKs83jIBoc3YDocdHs9AJnYhr1VVV8HtvtL9KNBVIFa52bTQuva85oFq/EHfd+iZ4JiIWV+alfH9yVeZ/D2gcOmq62jr2bm9FQsWzeexP450HXsAwO3qw6TbK4LLRjseUWztZ/8Ppnz6dgB6S8M5k+5Js1b/z+CYiCP/8S8AgCmfvh2nz7+UvUBHuNxOITKfRJQB8GZ4GxlRVV0Jn9eHpoZNwfeAfqelWOWt23fD4xlA6/bd0Pwanj30HLq7utHU+CQeXPRQ8M4RNFzVjCp4vb7gXZSqZujN/48tWxm1PNoyO7e3wuPxYOf2Vvj9GhRFwYb6Jjy2bCV6X+4NNnXTFVUz9O/0xmBd6t/px5bVRS03m6YoCh5bVoeN9U1QjKt/fr+GjfVN2FjfhC9+eRavysaQyd8DCpeuujab9t1Dz6K7sxsbG5qwZOGDaD/eDoCfiZl0HXsAwOPxhLV0mh2PKL4Tv/gZrrd9NHgHphO/+BkA4Mg6vTXfXmzD3qVbsHfpFhz+6b/AN6S3RIS2StDIJ6SUVscAALj8wWBuBFKAisaU4N0PL1sdRsEaO7oI73w4ZHUYBem60cX87lto7Ogi1r9Fxo4uAgAeeyxy3ehiiFq2ilhFtnty+wEMBu/7b6Z0buy45oas7B8fNkdERERElHNyO9dhEkFERERElGNyO4VgEkFERERElINyO41gEkFERERElGOy+fTpVGTjYXNERERERDSCsCWCiIiIiCjHZPPp06lgEkFERERElHOYRBARERERURJyO4VgEkFERERElHNyfWA1kwgiIiIiopzDJIKIiIiIiJKQ2ykEkwgiIiIiohyU22kEkwgiIiIiohyT62Mi+LA5IiIiIiJKipBSWh1DQM4EQkREREQjVm5f4je8++HllM6Nx44uysr+5VISkdeEEIullPutjqMQse6txfq3FuvfOqx7a7H+rcX6J3ZnSp/FVgdQwFj31mL9W4v1bx3WvbVY/9Zi/Rc4JhFERERERJQUJhFERERERJQUJhHpw36B1mHdW4v1by3Wv3VY99Zi/VuL9V/gOLCaiIiIiIiSwpYIIiIiIiJKCpMIIiIiIkqYEOJaq2Mg6zGJuApCiPFWx1CohG6qEOIxIYRidTyFxqj/SUKIB4UQNqvjKTRCiFuFEJutjqMQGd/9u4QQO4UQ11kdTyESQkwRQtQLIYqsjqWQGN/96UKIHwD4H1bHQ9ZjEpEiIYQAcEQI8ach7yl7ngLw1wBuAPAtIcQ4i+MpNE0AZgIoA7DE4lgK0TwAfxY4/lB2GBcsTgL4KwAbpJTvWBxSwRFCfAHANCllI4APrY6nUAghygAcA1AD4DUA/2VtRJQLmESk7g4ALgCPAIDkCPWsMa58n5BSrgewHUAxgBJroyocQohRAH4kpdwN4B8AfN7ikAqGUfcAcB7AXgBftzCcQvQ+gMMAfgugWggxQwgx2uKYCk0FgFuEEPUAnhdCfMzqgAqEF8AiKeWTAP4VwEetDYdyAZOI1L0kpfw6gOuFEFMAtkZkkQbgZ0IIIaX8A4BboCcSlAVSyv8H4BdCiLEAvgbAK4T4vBDiGotDG/GklP/PSCT+Skr5HIB3hBArhBBMorNASvkegJ9D78pxDYD7AawQQtgtDaywfAhAAfBTAG0Avi6EuMHSiAqAlPKSlPKS8fZeAL8HeN5T6JhEpC7wi3MURmsEZYfU/UFKKYUQKoCLUkq31XEVEinlZejHj/8NoBV6944vWxpUgTCSuAEhxFoAn4Re75etjaqg/BLA/wHwKwDNAGwAJloZUIE5B2A09Na4F6EnFVMtjahAhLSEngUwB2AvjELHJCJFxh9ySCmfBjBeCPHXAJzWRlWQbgTwfSFEtRBiAa+GZ4+U8rKU8mdSyrPQu3n4rI6pEAghxgD4UwCvA3gAwO8ATLY0qAIipfxvKeVWKWW/lPI3AD4G4L+tjquAnAVwEfq4CD+AcQAuxV6E0iFw3gO9Ne493lSDxlgdQD4zsvKxAOzQr8T+h7URFaT7AdwF4DSAZinl+xbHUzCEEE4A4wHcA2AQwC+sjagwSCk/EELMlFJ+AABCiAMAPBaHVVCM7/7tAL4CfWzceUsDKiDG9//7AOYJIb4G4NcA2BKdXdcCcAD4BAC/taGQlfjE6qtk3OLvGiklr8JmmXFFdh6Afw/pq0lZJIQoBaBJKb1Wx1JohBCjQq4MUpYJIf4IgJ/HHmsYrc5jjdYIyiJjPNxoKeWQ1bGQtZhEEBERERFRUjgmgoiIiIiIksIkgoiIiIiIksIkgoiIiIiIksIkgoiIiIiIksIkgogoQUKIt4UQ7UKINuP/5qtY1wXj/7LAz+kSa31CCIcQ4myc5ePOk8q8REQ0cjCJICJKzlwp5VwpZS0ACCHqrmZlxkPLxseaRwhRdjXbICIiSjcmEUREqTsMoDYL22nLwjaIiIgSxiSCiCh19wBoN7r0tAsh6oQQbYDeQiGEOGtMdxjT9hnT9gEYZ0wL6w4khFhszHPWWEczgCmB9Sez7kQY62g3lnWEFJVFrDMw/7BtExFR4RljdQBERHmmTQgR+PmclLLFOJmuAdAupZwrhJgCoFZKeZfRFanZSC7KpJR3AYAQYl7kio3lloTM45BSeoUQNSHdp1JadzQh610MoBnAkpCyJUZZuxCiBsClyG0DWJXotoiIaORgEkFElJy5UkqvyXSvlLLF+PkeAOMCrRIAygB4Ed4t6ZLJOu6B3kUKABBlO6mu25SRDNRgeLes0HW0AZgC4HqTbRMRUQFiEkFElB6RJ+6bpZRHA2+u5k5OJtKybqNV4wCABwD0I6QVIoltO1LZNhER5TeOiSAiSg9vyM+HEXJCblztbwcw13jvgPm4hcPQWxpCl0PIMlezbjNTARyWUp7D8FaF0HUsAdARZdtERFSA2BJBRJRmUspzgWdJGJPajbETc41B1GegX/k3W25fyEDrDuhjDjoAnBBCnJFSLkll3VEcAXBWCFELPQkKbU3pNwZUTwXQYSQaiNw2gP0JbouIiEYQIaW0OgYiIiIiIsoj7M5ERERERERJYRJBRERERERJYRJBRERERERJYRJBRERERERJYRJBRERERERJYRJBRERERERJYRJBRERERERJYRJBRERERERJ+f+3DrcgxnZPDgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Build the plot\n", "plt.figure(figsize=(15,5))\n", "sns.heatmap(matrix, annot=True, annot_kws={'size':10},\n", " cmap=plt.cm.Greens, linewidths=0.2)\n", "\n", "# Add labels to the plot\n", "class_names = ['1', '2', '3', '4', '5', '6', '7']\n", "tick_marks = np.arange(len(class_names))\n", "tick_marks2 = tick_marks + 0.5\n", "plt.xticks(tick_marks+ 0.5, class_names, rotation=25, fontsize=10)\n", "plt.yticks(tick_marks2, class_names, rotation=0, fontsize=10)\n", "plt.xlabel('Predicted label', fontsize=12)\n", "plt.ylabel('True label', fontsize=12)\n", "plt.title('Confusion Matrix for Random Forest Model\\n75\\% training and 25\\% testing\\nAccuracy score is 88.93\\%')\n", "# plt.savefig('confusion-matrix.png', dpi=300)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" } }, "nbformat": 4, "nbformat_minor": 5 }